#ifndef __MOTOR_H
#define __MOTOR_H

//#include "stm32f10x.h"
#include "main.h" // 引入主头文件
//
// 定义DRV8313PWPR控制引脚
#define DRV8313_INA_PIN GPIO_PIN_8
#define DRV8313_INB_PIN GPIO_PIN_9
#define DRV8313_INC_PIN GPIO_PIN_10
#define DRV8313_GPIO_PORT GPIOA



float get_absolute_position(void) ;

int get_commutation_step_new(float angle_deg);

uint8_t get_commutation_step(float position);

void Motor_MX_GPIO_Init(void);

void Motor_start_pwm();

void Motor_MX_TIM1_Init(void);

void set_pwm_duty(TIM_HandleTypeDef *htim, uint32_t channel, float duty);

void motor_commutate(uint8_t hall_step, float duty);

void BLDC_UV(float duty);

void BLDC_UW(float duty);

void BLDC_VW(float duty);

void BLDC_VU(float duty);

void BLDC_WU(float duty);

void BLDC_WV(float duty);

#endif /* __MOTOR_H */
